

package com.hazelcast.internal.config;

import com.hazelcast.config.RingbufferStoreConfig;
import com.hazelcast.ringbuffer.RingbufferStore;
import com.hazelcast.ringbuffer.RingbufferStoreFactory;

import javax.annotation.Nonnull;
import java.util.Properties;

public class RingbufferStoreConfigReadOnly extends RingbufferStoreConfig {

    public RingbufferStoreConfigReadOnly(RingbufferStoreConfig config) {
        super(config);
    }

    @Override
    public RingbufferStoreConfig setStoreImplementation(@Nonnull RingbufferStore storeImplementation) {
        throw new UnsupportedOperationException("This config is read-only.");
    }

    @Override
    public RingbufferStoreConfig setEnabled(boolean enabled) {
        throw new UnsupportedOperationException("This config is read-only.");
    }

    @Override
    public RingbufferStoreConfig setClassName(@Nonnull String className) {
        throw new UnsupportedOperationException("This config is read-only.");
    }

    @Override
    public RingbufferStoreConfig setProperties(Properties properties) {
        throw new UnsupportedOperationException("This config is read-only.");
    }

    @Override
    public RingbufferStoreConfig setProperty(String name, String value) {
        throw new UnsupportedOperationException("This config is read-only.");
    }

    @Override
    public RingbufferStoreConfig setFactoryClassName(@Nonnull String factoryClassName) {
        throw new UnsupportedOperationException("This config is read-only.");
    }

    @Override
    public RingbufferStoreConfig setFactoryImplementation(@Nonnull RingbufferStoreFactory factoryImplementation) {
        throw new UnsupportedOperationException("This config is read-only.");
    }
}
